-- Demonstrate custom procedures, loops, and variables

with Ada.Text_IO, Ada.Integer_Text_IO, Ada.Calendar;
use Ada.Text_IO, Ada.Integer_Text_IO, Ada.Calendar;

procedure Compute is

   procedure double (item : in out integer) is
   begin
      item := item * 2;
   end double;

   x: integer := 1; -- Unsigned integer called x.

begin
   loop
      put(x);
      new_line;
      double(x);
      delay 0.25;
   end loop;
end compute;
